package com.controller;
import com.entity.FUser;
import com.entity.table.FUserTableDef;
import com.mybatisflex.core.query.QueryWrapper;
import com.service.impl.FUserServiceImpl;
import jakarta.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Map;

@Controller
public class LoginController {

    @Autowired
    FUserServiceImpl fUserService;

    @GetMapping("/login")
    public String toLoginPage() {
        return "client/login";
    }

    @PostMapping("/toLogin")
    public String login(FUser user, HttpSession httpSession, Model model) {
        // 注意这里的key要和数据库的列名column对应
        QueryWrapper query = QueryWrapper.create()
                .where(FUserTableDef.F_USER.USER_NAME.eq(user.getUserName()))
                .and(FUserTableDef.F_USER.PWD.eq(user.getPwd()));
        FUser tUser = fUserService.getOne(query);
        if (tUser!= null) {
            // 将用户对象添加到Session
            httpSession.setAttribute("user", tUser);
            model.addAttribute("user", tUser);// 返回数据给前端页面
            // 跳转到主页
//            return "redirect:/";
            return "redirect:/";
        } else {
            model.addAttribute("msg", "账号或密码错误,请重新输入！");
            return "client/login";
        }
    }
}

